package cn.springmvc.model;

import java.util.ArrayList;
import java.util.List;

public class Step5Example {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public Step5Example() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andLinshigongIsNull() {
            addCriterion("linshigong is null");
            return (Criteria) this;
        }

        public Criteria andLinshigongIsNotNull() {
            addCriterion("linshigong is not null");
            return (Criteria) this;
        }

        public Criteria andLinshigongEqualTo(Float value) {
            addCriterion("linshigong =", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongNotEqualTo(Float value) {
            addCriterion("linshigong <>", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongGreaterThan(Float value) {
            addCriterion("linshigong >", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongGreaterThanOrEqualTo(Float value) {
            addCriterion("linshigong >=", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongLessThan(Float value) {
            addCriterion("linshigong <", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongLessThanOrEqualTo(Float value) {
            addCriterion("linshigong <=", value, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongIn(List<Float> values) {
            addCriterion("linshigong in", values, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongNotIn(List<Float> values) {
            addCriterion("linshigong not in", values, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongBetween(Float value1, Float value2) {
            addCriterion("linshigong between", value1, value2, "linshigong");
            return (Criteria) this;
        }

        public Criteria andLinshigongNotBetween(Float value1, Float value2) {
            addCriterion("linshigong not between", value1, value2, "linshigong");
            return (Criteria) this;
        }

        public Criteria andJishugongIsNull() {
            addCriterion("jishugong is null");
            return (Criteria) this;
        }

        public Criteria andJishugongIsNotNull() {
            addCriterion("jishugong is not null");
            return (Criteria) this;
        }

        public Criteria andJishugongEqualTo(Float value) {
            addCriterion("jishugong =", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongNotEqualTo(Float value) {
            addCriterion("jishugong <>", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongGreaterThan(Float value) {
            addCriterion("jishugong >", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongGreaterThanOrEqualTo(Float value) {
            addCriterion("jishugong >=", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongLessThan(Float value) {
            addCriterion("jishugong <", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongLessThanOrEqualTo(Float value) {
            addCriterion("jishugong <=", value, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongIn(List<Float> values) {
            addCriterion("jishugong in", values, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongNotIn(List<Float> values) {
            addCriterion("jishugong not in", values, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongBetween(Float value1, Float value2) {
            addCriterion("jishugong between", value1, value2, "jishugong");
            return (Criteria) this;
        }

        public Criteria andJishugongNotBetween(Float value1, Float value2) {
            addCriterion("jishugong not between", value1, value2, "jishugong");
            return (Criteria) this;
        }

        public Criteria andYjwjfhIsNull() {
            addCriterion("yjwjfh is null");
            return (Criteria) this;
        }

        public Criteria andYjwjfhIsNotNull() {
            addCriterion("yjwjfh is not null");
            return (Criteria) this;
        }

        public Criteria andYjwjfhEqualTo(Float value) {
            addCriterion("yjwjfh =", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhNotEqualTo(Float value) {
            addCriterion("yjwjfh <>", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhGreaterThan(Float value) {
            addCriterion("yjwjfh >", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhGreaterThanOrEqualTo(Float value) {
            addCriterion("yjwjfh >=", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhLessThan(Float value) {
            addCriterion("yjwjfh <", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhLessThanOrEqualTo(Float value) {
            addCriterion("yjwjfh <=", value, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhIn(List<Float> values) {
            addCriterion("yjwjfh in", values, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhNotIn(List<Float> values) {
            addCriterion("yjwjfh not in", values, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhBetween(Float value1, Float value2) {
            addCriterion("yjwjfh between", value1, value2, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andYjwjfhNotBetween(Float value1, Float value2) {
            addCriterion("yjwjfh not between", value1, value2, "yjwjfh");
            return (Criteria) this;
        }

        public Criteria andElsgndIsNull() {
            addCriterion("elsgnd is null");
            return (Criteria) this;
        }

        public Criteria andElsgndIsNotNull() {
            addCriterion("elsgnd is not null");
            return (Criteria) this;
        }

        public Criteria andElsgndEqualTo(Float value) {
            addCriterion("elsgnd =", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndNotEqualTo(Float value) {
            addCriterion("elsgnd <>", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndGreaterThan(Float value) {
            addCriterion("elsgnd >", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndGreaterThanOrEqualTo(Float value) {
            addCriterion("elsgnd >=", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndLessThan(Float value) {
            addCriterion("elsgnd <", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndLessThanOrEqualTo(Float value) {
            addCriterion("elsgnd <=", value, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndIn(List<Float> values) {
            addCriterion("elsgnd in", values, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndNotIn(List<Float> values) {
            addCriterion("elsgnd not in", values, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndBetween(Float value1, Float value2) {
            addCriterion("elsgnd between", value1, value2, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andElsgndNotBetween(Float value1, Float value2) {
            addCriterion("elsgnd not between", value1, value2, "elsgnd");
            return (Criteria) this;
        }

        public Criteria andNsIsNull() {
            addCriterion("ns is null");
            return (Criteria) this;
        }

        public Criteria andNsIsNotNull() {
            addCriterion("ns is not null");
            return (Criteria) this;
        }

        public Criteria andNsEqualTo(Float value) {
            addCriterion("ns =", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsNotEqualTo(Float value) {
            addCriterion("ns <>", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsGreaterThan(Float value) {
            addCriterion("ns >", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsGreaterThanOrEqualTo(Float value) {
            addCriterion("ns >=", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsLessThan(Float value) {
            addCriterion("ns <", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsLessThanOrEqualTo(Float value) {
            addCriterion("ns <=", value, "ns");
            return (Criteria) this;
        }

        public Criteria andNsIn(List<Float> values) {
            addCriterion("ns in", values, "ns");
            return (Criteria) this;
        }

        public Criteria andNsNotIn(List<Float> values) {
            addCriterion("ns not in", values, "ns");
            return (Criteria) this;
        }

        public Criteria andNsBetween(Float value1, Float value2) {
            addCriterion("ns between", value1, value2, "ns");
            return (Criteria) this;
        }

        public Criteria andNsNotBetween(Float value1, Float value2) {
            addCriterion("ns not between", value1, value2, "ns");
            return (Criteria) this;
        }

        public Criteria andLsenIsNull() {
            addCriterion("lsen is null");
            return (Criteria) this;
        }

        public Criteria andLsenIsNotNull() {
            addCriterion("lsen is not null");
            return (Criteria) this;
        }

        public Criteria andLsenEqualTo(Float value) {
            addCriterion("lsen =", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenNotEqualTo(Float value) {
            addCriterion("lsen <>", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenGreaterThan(Float value) {
            addCriterion("lsen >", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenGreaterThanOrEqualTo(Float value) {
            addCriterion("lsen >=", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenLessThan(Float value) {
            addCriterion("lsen <", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenLessThanOrEqualTo(Float value) {
            addCriterion("lsen <=", value, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenIn(List<Float> values) {
            addCriterion("lsen in", values, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenNotIn(List<Float> values) {
            addCriterion("lsen not in", values, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenBetween(Float value1, Float value2) {
            addCriterion("lsen between", value1, value2, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsenNotBetween(Float value1, Float value2) {
            addCriterion("lsen not between", value1, value2, "lsen");
            return (Criteria) this;
        }

        public Criteria andLsjIsNull() {
            addCriterion("lsj is null");
            return (Criteria) this;
        }

        public Criteria andLsjIsNotNull() {
            addCriterion("lsj is not null");
            return (Criteria) this;
        }

        public Criteria andLsjEqualTo(Float value) {
            addCriterion("lsj =", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjNotEqualTo(Float value) {
            addCriterion("lsj <>", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjGreaterThan(Float value) {
            addCriterion("lsj >", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjGreaterThanOrEqualTo(Float value) {
            addCriterion("lsj >=", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjLessThan(Float value) {
            addCriterion("lsj <", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjLessThanOrEqualTo(Float value) {
            addCriterion("lsj <=", value, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjIn(List<Float> values) {
            addCriterion("lsj in", values, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjNotIn(List<Float> values) {
            addCriterion("lsj not in", values, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjBetween(Float value1, Float value2) {
            addCriterion("lsj between", value1, value2, "lsj");
            return (Criteria) this;
        }

        public Criteria andLsjNotBetween(Float value1, Float value2) {
            addCriterion("lsj not between", value1, value2, "lsj");
            return (Criteria) this;
        }

        public Criteria andLfIsNull() {
            addCriterion("lf is null");
            return (Criteria) this;
        }

        public Criteria andLfIsNotNull() {
            addCriterion("lf is not null");
            return (Criteria) this;
        }

        public Criteria andLfEqualTo(Float value) {
            addCriterion("lf =", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfNotEqualTo(Float value) {
            addCriterion("lf <>", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfGreaterThan(Float value) {
            addCriterion("lf >", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfGreaterThanOrEqualTo(Float value) {
            addCriterion("lf >=", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfLessThan(Float value) {
            addCriterion("lf <", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfLessThanOrEqualTo(Float value) {
            addCriterion("lf <=", value, "lf");
            return (Criteria) this;
        }

        public Criteria andLfIn(List<Float> values) {
            addCriterion("lf in", values, "lf");
            return (Criteria) this;
        }

        public Criteria andLfNotIn(List<Float> values) {
            addCriterion("lf not in", values, "lf");
            return (Criteria) this;
        }

        public Criteria andLfBetween(Float value1, Float value2) {
            addCriterion("lf between", value1, value2, "lf");
            return (Criteria) this;
        }

        public Criteria andLfNotBetween(Float value1, Float value2) {
            addCriterion("lf not between", value1, value2, "lf");
            return (Criteria) this;
        }

        public Criteria andYjfIsNull() {
            addCriterion("yjf is null");
            return (Criteria) this;
        }

        public Criteria andYjfIsNotNull() {
            addCriterion("yjf is not null");
            return (Criteria) this;
        }

        public Criteria andYjfEqualTo(Float value) {
            addCriterion("yjf =", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfNotEqualTo(Float value) {
            addCriterion("yjf <>", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfGreaterThan(Float value) {
            addCriterion("yjf >", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfGreaterThanOrEqualTo(Float value) {
            addCriterion("yjf >=", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfLessThan(Float value) {
            addCriterion("yjf <", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfLessThanOrEqualTo(Float value) {
            addCriterion("yjf <=", value, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfIn(List<Float> values) {
            addCriterion("yjf in", values, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfNotIn(List<Float> values) {
            addCriterion("yjf not in", values, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfBetween(Float value1, Float value2) {
            addCriterion("yjf between", value1, value2, "yjf");
            return (Criteria) this;
        }

        public Criteria andYjfNotBetween(Float value1, Float value2) {
            addCriterion("yjf not between", value1, value2, "yjf");
            return (Criteria) this;
        }

        public Criteria andNianfenIsNull() {
            addCriterion("nianfen is null");
            return (Criteria) this;
        }

        public Criteria andNianfenIsNotNull() {
            addCriterion("nianfen is not null");
            return (Criteria) this;
        }

        public Criteria andNianfenEqualTo(Integer value) {
            addCriterion("nianfen =", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenNotEqualTo(Integer value) {
            addCriterion("nianfen <>", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenGreaterThan(Integer value) {
            addCriterion("nianfen >", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenGreaterThanOrEqualTo(Integer value) {
            addCriterion("nianfen >=", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenLessThan(Integer value) {
            addCriterion("nianfen <", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenLessThanOrEqualTo(Integer value) {
            addCriterion("nianfen <=", value, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenIn(List<Integer> values) {
            addCriterion("nianfen in", values, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenNotIn(List<Integer> values) {
            addCriterion("nianfen not in", values, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenBetween(Integer value1, Integer value2) {
            addCriterion("nianfen between", value1, value2, "nianfen");
            return (Criteria) this;
        }

        public Criteria andNianfenNotBetween(Integer value1, Integer value2) {
            addCriterion("nianfen not between", value1, value2, "nianfen");
            return (Criteria) this;
        }

        public Criteria andBianhaoIsNull() {
            addCriterion("bianhao is null");
            return (Criteria) this;
        }

        public Criteria andBianhaoIsNotNull() {
            addCriterion("bianhao is not null");
            return (Criteria) this;
        }

        public Criteria andBianhaoEqualTo(String value) {
            addCriterion("bianhao =", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoNotEqualTo(String value) {
            addCriterion("bianhao <>", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoGreaterThan(String value) {
            addCriterion("bianhao >", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoGreaterThanOrEqualTo(String value) {
            addCriterion("bianhao >=", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoLessThan(String value) {
            addCriterion("bianhao <", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoLessThanOrEqualTo(String value) {
            addCriterion("bianhao <=", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoLike(String value) {
            addCriterion("bianhao like", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoNotLike(String value) {
            addCriterion("bianhao not like", value, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoIn(List<String> values) {
            addCriterion("bianhao in", values, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoNotIn(List<String> values) {
            addCriterion("bianhao not in", values, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoBetween(String value1, String value2) {
            addCriterion("bianhao between", value1, value2, "bianhao");
            return (Criteria) this;
        }

        public Criteria andBianhaoNotBetween(String value1, String value2) {
            addCriterion("bianhao not between", value1, value2, "bianhao");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}